const mongoose = require('mongoose');

mongoose.connect('mongodb://127.0.0.1:27017/panpan', {useNewUrlParser: true, useUnifiedTopology: true});
const user = new mongoose.Schema({
    nickname: String,
    age: Number,
    create_time: {
        type: Date,
        // 默认值
        default: new Date()
    },
    password:{
        type: String,
        required: true
    },
    hobby:Array,
    gender:{
        type: String,
        enum: ['男','女','说不好']
    }

})

const usermodel = mongoose.model('user',user);

// 基礎查詢   
// usermodel.find()
// usermodel.find().then(res=>{
//     console.log(res.length);
// }).catch(err=>{
//     console.log(err);
// })


// 查詢一條
// usermodel.findOne().then(res=>{
//     console.log(res);
// }).catch(err=>{
//     console.log(err);
// })

// 查詢條件  
// usermodel.find({條件})

// usermodel.find({age:18}).then(res=>{  // age = 18
//     console.log(res.length);
// }).catch(err=>{
//     console.log(err);
// })
// gt  大于  lt 小于  gte  大于等于  lte  小于等于  ne  不等于

// usermodel.find({age:{$lt:18}}).then(res=>{  // age > 18
//     console.log(res.length);
// }).catch(err=>{
//     console.log(err);
// })

// 年龄 25-30
// usermodel.find({age:{$gt:20,$lt:30}}).then(res=>{  // age > 18
//     console.log(res.length);
// }).catch(err=>{
//     console.log(err);
// })

// // 名字中带三 
// usermodel.find({nickname:/三/}).then(res=>{  // age > 18
//     console.log(res.length);
// }).catch(err=>{
//     console.log(err);
// })

// // 以三结尾
// usermodel.find({nickname:/三$/}).then(res=>{  // age > 18
//     console.log(res.length);
// }).catch(err=>{
//     console.log(err);
// })


// // 以王为开头
// usermodel.find({nickname:/^王/}).then(res=>{  // age > 18
//     console.log(res.length);
// }).catch(err=>{
//     console.log(err);
// })


// usermodel.find({nickname:/^王/,age:{$gt:25,$lt:30}}).then(res=>{ 
//     console.log(res);
// }).catch(err=>{
//     console.log(err);
// })

// 第几页   每页几条       
//  1        10         0 ~9 
//  2        10       10 ~19
//  3        10       20 ~29

 // skip 开始的索引  limit 限制条数
// usermodel.find().skip(0).limit(10).then(res=>{ 
//     console.log(res.length);
// }).catch(err=>{
//     console.log(err);
// })


// usermodel.findById('640167ccf3f357c816dd24c9').then(res=>{ 
//     console.log(res);
// }).catch(err=>{
//     console.log(err);
// })











